package com.itjin.health.domain.dto.timeslot;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDate;
import java.util.List;

/**
 * 发布可用时间段请求
 */
@Data
@ApiModel(value = "发布可用时间段请求")
public class AvailableSlotPublishRequest {

  @ApiModelProperty(value = "发布日期(特定的一天，用于确定所属周)")
  private LocalDate publishDate;

  @ApiModelProperty(value = "评估类型(线上/线下)")
  private String assessmentType;

  @ApiModelProperty(value = "线上时间段ID列表(当assessmentType为'线上'时使用)")
  private List<Integer> onlineSlotIds;

  @ApiModelProperty(value = "线下时间段和地点配置(当assessmentType为'线下'时使用)")
  private List<OfflineSlotConfig> offlineConfigs;

  /**
   * 线下时间段和地点配置
   */
  @Data
  @ApiModel(value = "线下时间段和地点配置")
  public static class OfflineSlotConfig {
    @ApiModelProperty(value = "时间段ID")
    private Integer slotId;

    @ApiModelProperty(value = "地点ID")
    private Integer locationId;
  }
}